package com.lenovo.order_service.mapper;

import com.lenovo.order_service.api.req.FilterOrderReqVo;
import com.lenovo.order_service.api.req.PageQueryOrderListReqVo;
import com.lenovo.order_service.entity.Order;
import org.apache.ibatis.annotations.Param;

import java.math.BigDecimal;
import java.util.Date;
import java.util.List;

public interface OrderMapper {
    int deleteByPrimaryKey(Integer id);

    int insert(Order record);

    int insertSelective(Order record);

    Order selectByPrimaryKey(Integer id);

    int updateByPrimaryKeySelective(Order record);

    int updateByPrimaryKey(Order record);

    Order selectByOrderId(@Param("orderId") Long orderId);

    Integer countQueryOrderList(PageQueryOrderListReqVo condition);

    List<Order> pageQueryOrderList(PageQueryOrderListReqVo condition);

    List<Order> filterOrderDetail(FilterOrderReqVo condition);

    void cleanPendingOrder();


    BigDecimal countHourlyAmount(Date nowDate);
}